package io.adrainty.algorithm.mars;

/**
 * 数组元素之和最小化
 * @link <a href="https://www.marscode.cn/practice/364l85wv6oo6lq?problem_id=7424436653622296620">...</a>
 * @author adrainty
 * @version v1.0.0
 * @since 2024/11/25 上午9:10
 */
public class Solution014 {

    private Solution014() {}

    /**
     * 小C希望构造一个包含n个元素的数组，且满足以下条件：
     * <p>
     * 数组中的所有元素两两不同。
     * 数组所有元素的最大公约数为 k。
     * 数组元素之和尽可能小。
     * @param n 元素个数
     * @param k 最大公约数
     * @return 该数组元素之和的最小值
     */
    public static int solution(int n, int k) {
        // write code here
        int ans = 0;
        for (int i = 1; i <= n; i++) {
            ans += i * k;
        }
        return ans;
    }

}
